<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    // `JS`对象多态性是与生俱来的：同一操作作用于不同的对象上面，可以产生不同的解释和不同的执行结果，
    // 也就是说，给不同的对象发送同一个消息时，这些对象会根据这个消息分别给出不同的反馈。
    {
        // function Box(){
        // }
        // Box.prototype.render = function(){
        //     return "box"
        // }
        // function Desk(){
        // }
        // Desk.prototype.render = function(){
        //     return "desk"
        // }
        // const obj = new Box();
        // const obj2 = new Desk();
        // console.log(obj.render());
        // console.log(obj2.render());
    }
    {
        function Cat(){

        }
        function Dog(){

        }
        function fn(instance){
            if(instance instanceof Cat) return "喵喵";
            else if(instance instanceof Dog) return "汪汪";
        }
        const obj = new Cat();
        const obj2 = new Dog();
        console.log(fn(obj))
        console.log(fn(obj2))
    }


</script>
</html>